package com.ruoyi.system.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 工作现场签到记录对象 sys_signin_worksite
 * 
 * @author yfkj
 * @date 2022-03-22
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SysSigninWorksite
{
    private static final long serialVersionUID = 1L;
    /** 工作现场签到记录主键 */
    @TableField(exist = true)
    @TableId(type= IdType.AUTO)
    @ApiModelProperty(value =  "${comment}")
    private Long signinWorksiteId;
    /** 外键：签到表ID */
    @com.ruoyi.common.core.annotation.Excel(name = "外键：签到表ID")
    @TableField(exist = true)
    @ApiModelProperty(value =  "外键：签到表ID")
    private Long signInId;
    /** 签到用户ID */
    @com.ruoyi.common.core.annotation.Excel(name = "签到用户ID")
    @TableField(exist = true)
    @ApiModelProperty(value =  "签到用户ID")
    private Long userId;
    /** 签到用户姓名（后端少查询一次） */
    @com.ruoyi.common.core.annotation.Excel(name = "签到用户姓名", readConverterExp = "后=端少查询一次")
    @TableField(exist = true)
    @ApiModelProperty(value =  "签到用户姓名")
    private String userName;
    /** 工作现场签到地址 */
    @com.ruoyi.common.core.annotation.Excel(name = "工作现场签到地址")
    @TableField(exist = true)
    @ApiModelProperty(value =  "工作现场签到地址")
    private String workSiteLocation;
    /** 工作现场签到时间 */
    @com.ruoyi.common.core.annotation.Excel(name = "工作现场签到时间")
    @TableField(exist = true)
    @ApiModelProperty(value =  "工作现场签到时间")
    private Long workSiteTime;
    /** 当前位置经度 */
    @com.ruoyi.common.core.annotation.Excel(name = "当前位置经度")
    @TableField(exist = true)
    @ApiModelProperty(value =  "当前位置经度")
    private String longitude;
    /** 当前位置纬度 */
    @com.ruoyi.common.core.annotation.Excel(name = "当前位置纬度")
    @TableField(exist = true)
    @ApiModelProperty(value =  "当前位置纬度")
    private String latitude;
    /** 签到详情信息 */
    @com.ruoyi.common.core.annotation.Excel(name = "签到详情信息")
    @TableField(exist = true)
    @ApiModelProperty(value =  "签到详情信息")
    private String content;
    /** 人脸信息外键 */
    @com.ruoyi.common.core.annotation.Excel(name = "人脸信息外键")
    @TableField(exist = true)
    @ApiModelProperty(value =  "人脸信息外键")
    private Long sysFaceId;
    /** 故障资产信息外键（用于处理故障时工作现场打卡） */
    @TableField(exist = true)
    @ApiModelProperty("故障资产信息外键（用于处理故障时工作现场打卡）")
    private Long faultAssetId;
    /** 巡检工单外键（用于处理巡检任务时工作现场打卡） */
    @TableField(exist = true)
    @ApiModelProperty("巡检工单外键（用于处理巡检任务时工作现场打卡）")
    private Long inspectionId;

    public static final String SIGNIN_WORKSITE_ID="signin_worksite_id";
    public static final String SIGN_IN_ID="sign_in_id";
    public static final String USER_ID="user_id";
    public static final String USER_NAME="user_name";
    public static final String WORK_SITE_LOCATION="work_site_location";
    public static final String WORK_SITE_TIME="work_site_time";
    public static final String LONGITUDE="longitude";
    public static final String LATITUDE="latitude";
    public static final String CONTENT="content";
    public static final String SYS_FACE_ID="sys_face_id";
    public static final String FAULT_ID="fault_asset_id";
    public static final String INSPECTION_ID="inspection_id";

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("signinWorksiteId", getSigninWorksiteId())
            .append("signInId", getSignInId())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("workSiteLocation", getWorkSiteLocation())
            .append("workSiteTime", getWorkSiteTime())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("content", getContent())
            .append("sysFaceId", getSysFaceId())
            .toString();
    }
}
